import $ from 'jQuery';
(function () {
    let storeParams = JSON.parse(IOT.getSessionStore(URI.OPERATE.LIGHTMETHOD.MODIFY.PAGE));
    let $vue = new Vue({
        el: '.modify-account-hook',
        data: {
            but:'1',//显示第几个灯盏设置
            light:{
                name: '',
                unify:false,//true为统一设置
                // 按灯盏设置照明策略
                lightmethod: {
                    lightmethod1: {
                        'type': 'sunset',// sunset按经纬度设置 timeset按时间节点设置
                        'sunsetLum': 100,//按经纬度设置亮度
                        'startDelay': '',//开灯点比日出延迟时间
                        'endDelay': '',//关灯点比日出延迟时间
                        'timesetLum': 100,//按时间设置亮度
                        'startTime': '',//按时间节点设置 开灯时间
                        'endTime': '',//按时间节点设置 关灯时间
                        'breakpointList': [],//按时间节点设置转换点
                        'breakpointSunList': [],// 按经纬度设置转换点
                    },
                    lightmethod2: {
                        'type': 'sunset',// sunset按经纬度设置 timeset按时间节点设置
                        'sunsetLum': 90,//按经纬度设置亮度
                        'startDelay': '',//开灯点比日出延迟时间
                        'endDelay': '',//关灯点比日出延迟时间
                        'timesetLum': 90,//按时间设置亮度
                        'startTime': '',//按时间节点设置 开灯时间
                        'endTime': '',//按时间节点设置 关灯时间
                        'breakpointList': [],//按时间节点设置转换点
                        'breakpointSunList': [],// 按经纬度设置转换点
                    },
                    lightmethod3: {
                        'type': 'sunset',// sunset按经纬度设置 timeset按时间节点设置
                        'sunsetLum': 80,//按经纬度设置亮度
                        'startDelay': '',//开灯点比日出延迟时间
                        'endDelay': '',//关灯点比日出延迟时间
                        'timesetLum': 80,//按时间设置亮度
                        'startTime': '',//按时间节点设置 开灯时间
                        'endTime': '',//按时间节点设置 关灯时间
                        'breakpointList': [],//按时间节点设置转换点
                        'breakpointSunList': [],// 按经纬度设置转换点
                    },
                    lightmethod4: {
                        'type': 'sunset',// sunset按经纬度设置 timeset按时间节点设置
                        'sunsetLum': 70,//按经纬度设置亮度
                        'startDelay': '',//开灯点比日出延迟时间
                        'endDelay': '',//关灯点比日出延迟时间
                        'timesetLum': 70,//按时间设置亮度
                        'startTime': '',//按时间节点设置 开灯时间
                        'endTime': '',//按时间节点设置 关灯时间
                        'breakpointList': [],//按时间节点设置转换点
                        'breakpointSunList': [],// 按经纬度设置转换点
                    },
                },
                //统一设置照明策略
                lightmethodUnify:{
                    'type':'sunset',// sunset按经纬度设置 timeset按时间节点设置
                    'sunsetLum': 60,//按经纬度设置亮度
                    'startDelay': '',//开灯点比日出延迟时间
                    'endDelay': '',//关灯点比日出延迟时间
                    'timesetLum': 60,//按时间设置亮度
                    'startTime': '',//按时间节点设置 开灯时间
                    'endTime': '',//按时间节点设置 关灯时间
                    'breakpointList': [],//按时间节点设置转换点
                    'breakpointSunList': [],// 按经纬度设置转换点
                },
            }
        },
        methods: {
            goBack: function () {
                M.Page.emitPrePage();
            },
            addBreakpoint:function(){//新增转换点
                layer.open({
                    type: 1,
                    title: ['新增转换点'],
                    area: ['400px', '350px'],
                    content: $('#Newbreakpoint'),
                    btn: ['确定', '取消'],
                    yes: function(index, layero){
                        //按钮【按钮一】的回调
                        var bpName = $('#bpName').val();
                        var bpTime = $('#bpTime').val();
                        var bpLum = $('#bpLum').val();

                        if($vue.light.unify==true){
                            if($vue.light.lightmethodUnify.type=='timeset'){
                                $vue.light.lightmethodUnify.breakpointList.push({
                                    pointName:bpName,//转换点名称
                                    changeTime:bpTime,//转换点时间
                                    brightness:bpLum,//转换点亮度
                                });
                            }else{
                                $vue.light.lightmethodUnify.breakpointSunList.push({
                                    pointName:bpName,//转换点名称
                                    changeTime:bpTime,//转换点时间
                                    brightness:bpLum,//转换点亮度
                                });
                            }

                        }else{
                            if($vue.but==1){
                                if($vue.light.lightmethod.lightmethod1.type=='timeset'){
                                    $vue.light.lightmethod.lightmethod1.breakpointList.push({
                                        pointName:bpName,//转换点名称
                                        changeTime:bpTime,//转换点时间
                                        brightness:bpLum,//转换点亮度
                                    });
                                }else{
                                    $vue.light.lightmethod.lightmethod1.breakpointSunList.push({
                                        pointName:bpName,//转换点名称
                                        changeTime:bpTime,//转换点时间
                                        brightness:bpLum,//转换点亮度
                                    });
                                }
                            }else if($vue.but==2){
                                if($vue.light.lightmethod.lightmethod2.type=='timeset'){
                                    $vue.light.lightmethod.lightmethod2.breakpointList.push({
                                        pointName:bpName,//转换点名称
                                        changeTime:bpTime,//转换点时间
                                        brightness:bpLum,//转换点亮度
                                    });
                                }else{
                                    $vue.light.lightmethod.lightmethod2.breakpointSunList.push({
                                        pointName:bpName,//转换点名称
                                        changeTime:bpTime,//转换点时间
                                        brightness:bpLum,//转换点亮度
                                    });
                                }

                            }else if($vue.but==3){
                                if($vue.light.lightmethod.lightmethod3.type=='timeset'){
                                    $vue.light.lightmethod.lightmethod3.breakpointList.push({
                                        pointName:bpName,//转换点名称
                                        changeTime:bpTime,//转换点时间
                                        brightness:bpLum,//转换点亮度
                                    });
                                }else{
                                    $vue.light.lightmethod.lightmethod3.breakpointSunList.push({
                                        pointName:bpName,//转换点名称
                                        changeTime:bpTime,//转换点时间
                                        brightness:bpLum,//转换点亮度
                                    });
                                }
                            }else{
                                if($vue.light.lightmethod.lightmethod4.type=='timeset'){
                                    $vue.light.lightmethod.lightmethod4.breakpointList.push({
                                        pointName:bpName,//转换点名称
                                        changeTime:bpTime,//转换点时间
                                        brightness:bpLum,//转换点亮度
                                    });
                                }else{
                                    $vue.light.lightmethod.lightmethod4.breakpointSunList.push({
                                        pointName:bpName,//转换点名称
                                        changeTime:bpTime,//转换点时间
                                        brightness:bpLum,//转换点亮度
                                    });
                                }
                            }
                        };
                        $('#bpName').val('');
                        $('#bpTime').val('');
                        $('#bpLum').val('');
                        layer.closeAll();
                    },
                })
            },
            del:function(index){
                // $vue.lightmethod.breakpointList.splice(index, 1);
                if($vue.light.unify==true){
                    if($vue.light.lightmethodUnify.type=='timeset'){
                        $vue.light.lightmethodUnify.breakpointList.splice(index, 1);
                    }else{
                        $vue.light.lightmethodUnify.breakpointSunList.splice(index, 1);
                    }
                }else{
                    if($vue.but==1){
                        if($vue.light.lightmethod.lightmethod1.type=='timeset'){
                            $vue.light.lightmethod.lightmethod1.breakpointList.splice(index, 1);
                        }else{
                            $vue.light.lightmethod.lightmethod1.breakpointSunList.splice(index, 1);
                        }
                    }else if($vue.but==2){
                        if($vue.light.lightmethod.lightmethod2.type=='timeset'){
                            $vue.light.lightmethod.lightmethod2.breakpointList.splice(index, 1);
                        }else{
                            $vue.light.lightmethod.lightmethod2.breakpointSunList.splice(index, 1);
                        }
                    }else if($vue.but==3){
                        if($vue.light.lightmethod.lightmethod3.type=='timeset'){
                            $vue.light.lightmethod.lightmethod3.breakpointList.splice(index, 1);
                        }else{
                            $vue.light.lightmethod.lightmethod3.breakpointSunList.splice(index, 1);
                        }
                    }else{
                        if($vue.light.lightmethod.lightmethod4.type=='timeset'){
                            $vue.light.lightmethod.lightmethod4.breakpointList.splice(index, 1);
                        }else{
                            $vue.light.lightmethod.lightmethod4.breakpointSunList.splice(index, 1);
                        }
                    }
                };
            }
        },
        created: function () {
            IOT.getServerData(URI.OPERATE.LIGHTMETHOD.DETAIL.DATA, {name: storeParams.name}, (ret) => {
                if (ret.code === 200) {
                    this.light = $.extend({}, this.light, ret.data);
                    if($vue.light.name=='默认照明策略'){
                        $(":radio").hide();
                    }
                } else {
                    IOT.tips(ret.message || '服务器请求失败，稍后再试！', 'error');
                }
            });
        },
        mounted: function () {
            this.$nextTick(() => {
                let $modifyAccount = $('.modify-account-hook');
                $modifyAccount.find('.form-hook').validate({
                    debug: true,
                    // rules: {
                    //     email: {
                    //         email: true,
                    //         required: true,
                    //         minlength: 1,
                    //         maxlength: 50
                    //     },
                    //     userName: {
                    //         required: true,
                    //         minlength: 1,
                    //         maxlength: 10
                    //     }
                    // },
                    // messages: {
                    //     realName: {
                    //         required: '请输入姓名！'
                    //     },
                    //     email: {
                    //         required: '请输入邮箱！'
                    //     }
                    // },
                    submitHandler: function (form) {
                        // if($.trim($vue.$data.account.userName) == ""){
                        //     layer.alert('用户姓名不能为空');
                        //     return false;
                        // }
                        // var reg4 = /^[a-zA-Z\u4e00-\u9fa5.]+$/;
                        // if(reg4.test($.trim($vue.$data.account.userName)) == false){
                        //     layer.alert('用户名格式不正确');
                        //     return false;
                        // }
                        IOT.showOverlay('保存中，请稍等...');
                        let params = $vue.$data.light;
                        IOT.getServerData(URI.OPERATE.LIGHTMETHOD.MODIFY.SAVE, params, function (ret) {
                            IOT.hideOverlay();
                            if (ret && ret.code === 200) {
                                IOT.tips('保存成功！', 'success');
                                M.Table.refresh.all();
                                M.Page.emitPrePage();
                            } else {
                                IOT.tips(ret.msg || '操作失败，请重试！', 'error', 1000, null);
                            }
                        });
                        return false;
                    }
                });
            });
        }
    });
})();





















